package com.jwds.digital.bios.business.core.infrastructure.mapper.belt;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jwds.digital.bios.business.core.infrastructure.dto.belt.BeltPerformanceMonthReqDTO;
import com.jwds.digital.bios.business.core.infrastructure.vo.belt.BeltPerformanceHourRespVO;
import com.jwds.digital.bios.business.core.infrastructure.vo.belt.BeltPerformanceMonthRespVO;
import com.jwds.digital.bios.business.core.infrastructure.entity.belt.BeltPerformanceMonth;

import java.time.LocalDateTime;
import java.util.List;

import com.jwds.digital.bios.business.core.infrastructure.vo.belt.BeltPerformanceWeekRespVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * 皮带效能月表 Mapper 接口
 *
 * @author 林柏云
 * @date 2024-10-24
 */
@Mapper
public interface BeltPerformanceMonthMapper extends BaseMapper<BeltPerformanceMonth>, BeltAnalyzeMapper {

  /**
   * 分页查询
   * @param page 分页参数
   * @param condition 查询条件
   * @return respVOList 查询结果
   */
  IPage<BeltPerformanceMonthRespVO> pageQuery(@Param("page") Page<?> page, @Param("condition") BeltPerformanceMonthReqDTO condition);

  /**
  * 列表查询
  * @param condition 查询条件
  * @return respVOList 查询结果
  */
  List<BeltPerformanceMonthRespVO> queryList(@Param("condition") BeltPerformanceMonthReqDTO condition);

  /**
  * 根据ID查询
  * @param id 查询条件
  * @return respVO 查询结果
   *
  */
  BeltPerformanceMonthRespVO queryById(@Param("id") Long id);
  @Override


  BeltPerformanceHourRespVO analyze(@Param("id") Long id,@Param("startTime") LocalDateTime startTime,@Param("endTime") LocalDateTime endTime);

  /**
   * 根据多个ID查询
   * @param ids
   * @return
   */
    List<BeltPerformanceMonthRespVO> selectByBeltIds(@Param("ids") List<Integer> ids);

    /*******************扩展查询*******************/

}
